package aliyun

type Detection interface {
	Scan()
	Stop()
	FeedBack()
	Query()
}

type yunDunCfg struct {
	accessKeyId     string
	accessKeySecret string
	regionId        string
}
type yunDunBase struct {
	Code int    `json:"code"`
	Msg  string `json:"msg"`
}
type yunDunResp struct {
	yunDunBase
	RequestId *string `json:"requestId,omitempty"`
}

// # Text

type textSyncResp struct {
	yunDunResp
	Data []*textSyncRespData `json:"data"`
}
type textSyncRespData struct {
	Code            int                       `json:"code"`
	Content         string                    `json:"content"`
	DataId          string                    `json:"dataId"`
	FilteredContent string                    `json:"filteredContent"`
	Msg             string                    `json:"msg"`
	Results         []*textSyncRespDataResult `json:"results"`
	TaskId          string                    `json:"taskId"`
}
type textSyncRespDataResult struct {
	Details []struct {
		Contexts []struct {
			Context   string `json:"context"`
			Positions []struct {
				EndPos   int `json:"endPos"`
				StartPos int `json:"startPos"`
			} `json:"positions"`
			LibCode string `json:"libCode,omitempty"`
			LibName string `json:"libName,omitempty"`
		} `json:"contexts"`
		Label string `json:"label"`
	} `json:"details"`
	Label      string  `json:"label"`
	Rate       float64 `json:"rate"`
	Scene      string  `json:"scene"`
	Suggestion string  `json:"suggestion"`
}
